MongoDB Aggregation $lookup

கலெக்ஷன்களை இணைத்தல்

Aggregation $lookup

இந்த ஒருங்கிணைப்பு நிலை ஒரே தரவுத்தளத்தில் உள்ள ஒரு கலெக்ஷனுடன் இடது வெளிப்புற இணைப்பைச் செய்கிறது.

நான்கு தேவையான புலங்கள் உள்ளன:

தேவையான புலங்கள்

புலம் விளக்கம்
from அதே தரவுத்தளத்தில் lookup செய்ய பயன்படுத்த வேண்டிய கலெக்ஷன்
localField முதன்மை கலெக்ஷனில் உள்ள புலம், இது from கலெக்ஷனில் ஒரு தனிப்பட்ட அடையாளங்காட்டியாகப் பயன்படுத்தப்படலாம்
foreignField from கலெக்ஷனில் உள்ள புலம், இது முதன்மை கலெக்ஷனில் ஒரு தனிப்பட்ட அடையாளங்காட்டியாகப் பயன்படுத்தப்படலாம்
as from கலெக்ஷனில் இருந்து பொருந்தக்கூடிய ஆவணங்களைக் கொண்டிருக்கும் புதிய புலத்தின் பெயர்

எடுத்துக்காட்டு

இந்த எடுத்துக்காட்டில், நாங்கள் "sample_mflix" தரவுத்தளத்தைப் பயன்படுத்துகிறோம், இது ஒருங்கிணைப்புகள் அறிமுகப் பிரிவில் இருந்து எங்கள் மாதிரி தரவில் இருந்து ஏற்றப்பட்டது.

db.comments.aggregate([
  {
    $lookup: {
      from: "movies",
      localField: "movie_id",
      foreignField: "_id",
      as: "movie_details",
    },
  },
  {
    $limit: 1
  }
])

இது ஒவ்வொரு கருத்துக்கும் திரைப்படத் தரவைத் திரும்பப் பெறும்.

💡 விளக்கம்:

$lookup நிலை இரண்டு கலெக்ஷன்களை இணைக்க பயன்படுகிறது. இந்த எடுத்துக்காட்டில், comments கலெக்ஷன் movies கலெக்ஷனுடன் இணைக்கப்படுகிறது. comments கலெக்ஷனில் உள்ள movie_id புலம் movies கலெக்ஷனில் உள்ள _id புலத்துடன் பொருந்துகிறது. இணைக்கப்பட்ட தரவு movie_details என்ற புதிய புலத்தில் சேர்க்கப்படும்.

பயிற்சி

MongoDB ஒருங்கிணைப்பில் $lookup நிலை எத்தனை தேவையான புலங்களைக் கொண்டுள்ளது?

இரண்டு
✗ தவறு! $lookup நிலை இரண்டுக்கு மேற்பட்ட தேவையான புலங்களைக் கொண்டுள்ளது
மூன்று
✗ தவறு! $lookup நிலை மூன்றுக்கு மேற்பட்ட தேவையான புலங்களைக் கொண்டுள்ளது
நான்கு
✓ சரி! $lookup நிலை நான்கு தேவையான புலங்களைக் கொண்டுள்ளது: from, localField, foreignField, as
ஐந்து
✗ தவறு! $lookup நிலை நான்கு தேவையான புலங்களை மட்டுமே கொண்டுள்ளது